from django.db import models
from django.contrib.auth.models import User

# 调度任务模型：记录每一次前端发起的调度请求及其参数
class ScheduleTask(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="用户")  # 关联用户
    name = models.CharField(max_length=100, verbose_name="任务名称")  # 任务名称
    created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")  # 创建时间
    parameters = models.JSONField(verbose_name="算法参数")  # 存储前端传来的算法参数（JSON格式）

    def __str__(self):
        return self.name

# 调度结果模型：保存算法运行后的结果
class ScheduleResult(models.Model):
    task = models.OneToOneField(ScheduleTask, on_delete=models.CASCADE, verbose_name="关联任务")  # 关联调度任务
    result = models.JSONField(verbose_name="调度结果")  # 存储算法输出结果（JSON格式）
    created_at = models.DateTimeField(auto_now_add=True, verbose_name="生成时间")  # 结果生成时间

    def __str__(self):
        return f"Result for {self.task.name}" 